import java.util.*;

public class FindKthToTail {
    /**
     * 链表中倒数最后k个结点
     * 输入一个长度为 n 的链表，设链表中的元素的值为 ai ，返回该链表中倒数第k个节点。
        如果该链表长度小于k，请返回一个长度为 0 的链表。
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 
     * @param pHead ListNode类 
     * @param k int整型 
     * @return ListNode类
     */
    public ListNode FindKthToTail (ListNode pHead, int k) {
        if (pHead == null || k <= 0) {
            return null;
        }
        int size = length(pHead);
        int fast = size - k;
        if (fast < 0) {
            return null;
        }
        if (fast == 0) {
            return pHead;
        }
        for (int i = 0; i < fast; i++) {
            pHead = pHead.next;
        }
        return pHead;
    }

    public int length(ListNode pHead) {
        int len = 0;
        while (pHead != null) {
            len++;
            pHead = pHead.next;
        }
        return len;
    }
}